1 /*
2 
3 Boost Software License - Version 1.0 - August 17th, 2003
4 
5 Permission is hereby granted, free of charge, to any person or organization
6 obtaining a copy of the software and accompanying documentation covered by
7 this license (the "Software") to use, reproduce, display, distribute,
8 execute, and transmit the Software, and to prepare derivative works of the
9 Software, and to permit third-parties to whom the Software is furnished to
10 do so, all subject to the following:
11 
12 The copyright notices in the Software and this entire statement, including
13 the above license grant, this restriction and the following disclaimer,
14 must be included in all copies of the Software, in whole or in part, and
15 all derivative works of the Software, unless such copies or derivative
16 works are solely in the form of machine-executable object code generated by
17 a source language processor.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 DEALINGS IN THE SOFTWARE.
26 
27 */ 
28 
29 module derelict.purple.prefs;
30 
31 import derelict.glib.gtypes;
32 import derelict.glib.glibconfig;
33 import derelict.glib.glist;
34 extern (C):
35 
36 alias _PurplePrefType PurplePrefType;
37 alias void function (const(char)*, _PurplePrefType, const(void)*, void*) PurplePrefCallback;
38 
39 enum _PurplePrefType
40 {
41 	PURPLE_PREF_NONE = 0,
42 	PURPLE_PREF_BOOLEAN = 1,
43 	PURPLE_PREF_INT = 2,
44 	PURPLE_PREF_STRING = 3,
45 	PURPLE_PREF_STRING_LIST = 4,
46 	PURPLE_PREF_PATH = 5,
47 	PURPLE_PREF_PATH_LIST = 6
48 }
49 
50 version(Derelict_Link_Static)
51 {
52     extern( C ) nothrow 
53     {
54 	    void* purple_prefs_get_handle();
55         void purple_prefs_init();
56         void purple_prefs_uninit();
57         void purple_prefs_add_none(const(char)* name);
58         void purple_prefs_add_bool(const(char)* name, gboolean value);
59         void purple_prefs_add_int(const(char)* name, int value);
60         void purple_prefs_add_string(const(char)* name, const(char)* value);
61         void purple_prefs_add_string_list(const(char)* name, GList* value);
62         void purple_prefs_add_path(const(char)* name, const(char)* value);
63         void purple_prefs_add_path_list(const(char)* name, GList* value);
64         void purple_prefs_remove(const(char)* name);
65         void purple_prefs_rename(const(char)* oldname, const(char)* newname);
66         void purple_prefs_rename_boolean_toggle(const(char)* oldname, const(char)* newname);
67         void purple_prefs_destroy();
68         void purple_prefs_set_generic(const(char)* name, gpointer value);
69         void purple_prefs_set_bool(const(char)* name, gboolean value);
70         void purple_prefs_set_int(const(char)* name, int value);
71         void purple_prefs_set_string(const(char)* name, const(char)* value);
72         void purple_prefs_set_string_list(const(char)* name, GList* value);
73         void purple_prefs_set_path(const(char)* name, const(char)* value);
74         void purple_prefs_set_path_list(const(char)* name, GList* value);
75         gboolean purple_prefs_exists(const(char)* name);
76         PurplePrefType purple_prefs_get_type(const(char)* name);
77         gboolean purple_prefs_get_bool(const(char)* name);
78         int purple_prefs_get_int(const(char)* name);
79         const(char)* purple_prefs_get_string(const(char)* name);
80         GList* purple_prefs_get_string_list(const(char)* name);
81         const(char)* purple_prefs_get_path(const(char)* name);
82         GList* purple_prefs_get_path_list(const(char)* name);
83         GList* purple_prefs_get_children_names(const(char)* name);
84         guint purple_prefs_connect_callback(void* handle, const(char)* name, PurplePrefCallback cb, gpointer data);
85         void purple_prefs_disconnect_callback(guint callback_id);
86         void purple_prefs_disconnect_by_handle(void* handle);
87         void purple_prefs_trigger_callback(const(char)* name);
88         gboolean purple_prefs_load();
89         void purple_prefs_update_old();
90     }
91 }
92 else
93 {
94     extern( C ) nothrow 
95     {
96 	    alias da_purple_prefs_get_handle = void* function();																						
97         alias da_purple_prefs_init = void function();																								
98         alias da_purple_prefs_uninit = void function();																								
99         alias da_purple_prefs_add_none = void function(const(char)* name);																			
100         alias da_purple_prefs_add_bool = void function(const(char)* name, gboolean value);															
101         alias da_purple_prefs_add_int = void function(const(char)* name, int value);																
102         alias da_purple_prefs_add_string = void function(const(char)* name, const(char)* value);													
103         alias da_purple_prefs_add_string_list = void function(const(char)* name, GList* value);														
104         alias da_purple_prefs_add_path = void function(const(char)* name, const(char)* value);														
105         alias da_purple_prefs_add_path_list = void function(const(char)* name, GList* value);														
106         alias da_purple_prefs_remove = void function(const(char)* name);																			
107         alias da_purple_prefs_rename = void function(const(char)* oldname, const(char)* newname);													
108         alias da_purple_prefs_rename_boolean_toggle = void function(const(char)* oldname, const(char)* newname);									
109         alias da_purple_prefs_destroy = void function();																							
110         alias da_purple_prefs_set_generic = void function(const(char)* name, gpointer value);														
111         alias da_purple_prefs_set_bool = void function(const(char)* name, gboolean value);															
112         alias da_purple_prefs_set_int = void function(const(char)* name, int value);																
113         alias da_purple_prefs_set_string = void function(const(char)* name, const(char)* value);													
114         alias da_purple_prefs_set_string_list = void function(const(char)* name, GList* value);														
115         alias da_purple_prefs_set_path = void function(const(char)* name, const(char)* value);														
116         alias da_purple_prefs_set_path_list = void function(const(char)* name, GList* value);														
117         alias da_purple_prefs_exists = gboolean function(const(char)* name);																		
118         alias da_purple_prefs_get_type = PurplePrefType function(const(char)* name);																
119         alias da_purple_prefs_get_bool = gboolean function(const(char)* name);																		
120         alias da_purple_prefs_get_int = int function(const(char)* name);																			
121         alias da_purple_prefs_get_string = const(char)* function(const(char)* name);																
122         alias da_purple_prefs_get_string_list = GList* function(const(char)* name);																	
123         alias da_purple_prefs_get_path = const(char)* function(const(char)* name);																	
124         alias da_purple_prefs_get_path_list = GList* function(const(char)* name);																	
125         alias da_purple_prefs_get_children_names = GList* function(const(char)* name);																
126         alias da_purple_prefs_connect_callback = guint function(void* handle, const(char)* name, PurplePrefCallback cb, gpointer data);				
127         alias da_purple_prefs_disconnect_callback = void function(guint callback_id);																
128         alias da_purple_prefs_disconnect_by_handle = void function(void* handle);																	
129         alias da_purple_prefs_trigger_callback = void function(const(char)* name);																	
130         alias da_purple_prefs_load = gboolean function();																							
131         alias da_purple_prefs_update_old = void function();	
132     }
133 
134     __gshared
135     {
136 	    da_purple_prefs_get_handle purple_prefs_get_handle;
137 	    da_purple_prefs_init purple_prefs_init;
138 	    da_purple_prefs_uninit purple_prefs_uninit;
139 	    da_purple_prefs_add_none purple_prefs_add_none;
140 	    da_purple_prefs_add_bool purple_prefs_add_bool;
141 	    da_purple_prefs_add_int purple_prefs_add_int;
142 	    da_purple_prefs_add_string purple_prefs_add_string;
143 	    da_purple_prefs_add_string_list purple_prefs_add_string_list;
144 	    da_purple_prefs_add_path purple_prefs_add_path;
145 	    da_purple_prefs_add_path_list purple_prefs_add_path_list;
146 	    da_purple_prefs_remove purple_prefs_remove;
147 	    da_purple_prefs_rename purple_prefs_rename;
148 	    da_purple_prefs_rename_boolean_toggle purple_prefs_rename_boolean_toggle;
149 	    da_purple_prefs_destroy purple_prefs_destroy;
150 	    da_purple_prefs_set_generic purple_prefs_set_generic;
151 	    da_purple_prefs_set_bool purple_prefs_set_bool;
152 	    da_purple_prefs_set_int purple_prefs_set_int;
153 	    da_purple_prefs_set_string purple_prefs_set_string;
154 	    da_purple_prefs_set_string_list purple_prefs_set_string_list;
155 	    da_purple_prefs_set_path purple_prefs_set_path;
156 	    da_purple_prefs_set_path_list purple_prefs_set_path_list;
157 	    da_purple_prefs_exists purple_prefs_exists;
158 	    da_purple_prefs_get_type purple_prefs_get_type;
159 	    da_purple_prefs_get_bool purple_prefs_get_bool;
160 	    da_purple_prefs_get_int purple_prefs_get_int;
161 	    da_purple_prefs_get_string purple_prefs_get_string;
162 	    da_purple_prefs_get_string_list purple_prefs_get_string_list;
163 	    da_purple_prefs_get_path purple_prefs_get_path;
164 	    da_purple_prefs_get_path_list purple_prefs_get_path_list;
165 	    da_purple_prefs_get_children_names purple_prefs_get_children_names;
166 	    da_purple_prefs_connect_callback purple_prefs_connect_callback;
167 	    da_purple_prefs_disconnect_callback purple_prefs_disconnect_callback;
168 	    da_purple_prefs_disconnect_by_handle purple_prefs_disconnect_by_handle;
169 	    da_purple_prefs_trigger_callback purple_prefs_trigger_callback;
170 	    da_purple_prefs_load purple_prefs_load;
171 	    da_purple_prefs_update_old purple_prefs_update_old;	
172     }
173 }